Today, multimedia streaming transmission over wireless networks offers a mediocre user video quality. Indeed, wireless channels cause high bit error rates and the residual bit errors can still be significant in the received compressed video sequences. Errors are even more important in the received bitstreams to be decoded when the ARQ is limited or even impossible like, e.g., in real-time applications, or when the channel coding is not good enough compared with the channel state (ARQ=Automatic Repeat on Request).
However, today's source encoders, designed to compress data as much as possible, assume a reliable medium for transmission. Hence, source decoders are designed to deal with image or video files with no errors. In addition, there can be a propagation of the transmission errors which can adversely affect the received end-user quality. For example, entropy compression techniques, which are known to be very sensitive to errors, are used everywhere a compression is made such as in text compression (WinZip, zip, tar, gz, . . . ), image compression (JPEG, . . . ), audio compression, and video compression (MPEG, H2x, . . . ) (JPEG=Joint Picture Expert Group; MPEG=Moving Picture Expert Group).
When conventional source encoders based on an entropy compression technique are used, a single bit error can often create a loss of synchronisation of the sequence. What follows is an error propagation—spatially in the case of an image, or spatially and temporally in the case of a video—and the remaining part of the data is lost. The same phenomenon also happens to audio streaming transmission.
MPEG4-AVC, also known as H.264, is a new generation compression algorithm for consumer digital video and a very promising video coding standard (AVC=Advanced Video Coding). The MPEG4-AVC design covers a Video Coding Layer (=VCL), which efficiently represents the video content, and a Network Abstraction Layer (=NAL), which formats the VCL representation of the video and provides header information in a manner appropriate for conveyance by particular transport layers such as IP/RTP or for storage media (IP=Internet Protocol, RTP=Real-Time Transport Protocol).
The NAL comprises a succession of data packets with an integer number of bytes, so-called NAL units consisting of a one-byte header and payload data. The header indicates the type of the NAL unit, the (potential) presence of bit errors or syntax violations in the NAL unit payload, and information regarding the relative importance of the NAL unit for the decoding process. Some systems require delivery of the NAL units as an ordered stream of bytes or bits, in other systems, e.g., IP/RTP systems, the coded data is carried in packets framed by the system transport protocol.
The primary coded picture consists of NAL units that represent the samples of the picture. There is also a type of NAL called redundant coded picture containing a copy of some selected video macroblocks of the primary coded picture. Redundant coded pictures are used during loss or corruption of data in the primary coded picture. However, this approach to use redundant coded pictures to correct faulty primary coded pictures provides a very weak error correction, and the resulting data size—and hence the bandwidth cost—is significant.